Hibernate এর সাথে Apache Derby ব্যবহার

Database Tutorials - অ্যাপাচি ডার্বি (Apache Derby) Apache Derby এর সাথে Third-party Tools |
189
189

Hibernate হল একটি জনপ্রিয় Object-Relational Mapping (ORM) টুল, যা Java অ্যাপ্লিকেশনগুলিকে রিলেশনাল ডেটাবেসের সাথে সংযোগ স্থাপন এবং ডেটা পরিচালনার জন্য ব্যবহার করা হয়। Apache Derby একটি হালকা এবং Java-ভিত্তিক ডেটাবেস সিস্টেম, যা Hibernate এর সাথে ব্যবহৃত হতে পারে ছোট এবং মাঝারি আকারের অ্যাপ্লিকেশনগুলির জন্য। এখানে আমরা Hibernate কনফিগারেশন এবং Apache Derby ডেটাবেসের সাথে একত্রে ব্যবহারের জন্য কিছু স্টেপস আলোচনা করব।


Hibernate এবং Apache Derby সেটআপ করার জন্য পদক্ষেপ

1. Apache Derby ডাউনলোড এবং ইনস্টলেশন

প্রথমে, আপনাকে Apache Derby ডাউনলোড করতে হবে। আপনি এটি Apache Derby Official Website থেকে ডাউনলোড করতে পারেন।

  • Derby Database ইনস্টল করুন।
  • আপনার Derby home এবং JAVA_HOME পরিবেশ ভেরিয়েবল সেট করুন।

2. Hibernate এবং Dependencies যুক্ত করা

Hibernate এবং এর প্রয়োজনীয় লাইব্রেরি যুক্ত করার জন্য, আপনি Maven ব্যবহার করতে পারেন, অথবা JAR ফাইল গুলি ম্যানুয়ালি যুক্ত করতে পারেন। এখানে Maven ব্যবহার করার উদাহরণ দেওয়া হলো।

Maven Dependencies (pom.xml)
<dependencies>
    <!-- Hibernate Core Dependency -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.4.32.Final</version>
    </dependency>

    <!-- Derby JDBC Driver -->
    <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>10.15.2.0</version>
    </dependency>

    <!-- SLF4J Logger (optional for logging) -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.30</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.30</version>
    </dependency>
</dependencies>

এই dependency গুলি Hibernate Core, Derby JDBC driver, এবং SLF4J Logger এর জন্য প্রয়োজন।


3. Hibernate Configuration (hibernate.cfg.xml)

Hibernate কনফিগারেশন ফাইলটি hibernate.cfg.xml নাম দিয়ে তৈরি করতে হবে, যা Hibernate এর কনফিগারেশন সেটিংস ধারণ করে। এটি সাধারণত src/main/resources/ ডিরেক্টরিতে রাখা হয়।

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- JDBC Database connection settings -->
        <property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
        <property name="hibernate.connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
        <property name="hibernate.connection.url">jdbc:derby:memory:myDB;create=true</property>
        <property name="hibernate.connection.username">user</property>
        <property name="hibernate.connection.password">password</property>

        <!-- JDBC connection pool settings -->
        <property name="hibernate.c3p0.min_size">5</property>
        <property name="hibernate.c3p0.max_size">20</property>
        <property name="hibernate.c3p0.timeout">300</property>
        <property name="hibernate.c3p0.max_statements">50</property>
        <property name="hibernate.c3p0.idle_test_period">3000</property>

        <!-- Specify dialect -->
        <property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>

        <!-- Echo all executed queries -->
        <property name="hibernate.show_sql">true</property>

        <!-- Drop and re-create the database schema on startup -->
        <property name="hibernate.hbm2ddl.auto">update</property>

        <!-- Enable Hibernate's automatic session context management -->
        <property name="hibernate.current_session_context_class">thread</property>

        <!-- Disable the second-level cache -->
        <property name="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed queries to stdout -->
        <property name="hibernate.format_sql">true</property>
    </session-factory>
</hibernate-configuration>

এই কনফিগারেশন ফাইলে:

  • hibernate.dialect: DerbyDialect দিয়ে নির্ধারণ করা হয়, যা Apache Derby ডেটাবেসের জন্য উপযুক্ত।
  • hibernate.connection.url: এটি আপনার Derby ডেটাবেসের URL। এখানে memory:myDB;create=true দেখানো হয়েছে, যা একটি ইন-মেমরি ডেটাবেস তৈরি করবে।

4. Hibernate Entity Class তৈরি করা

আপনার ডেটাবেস টেবিলের জন্য একটি Java Entity Class তৈরি করতে হবে। Hibernate ব্যবহার করে Entity গুলি মেটাট্যাগের মাধ্যমে টেবিলের সাথে ম্যাপ করা হয়।

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "employees")
public class Employee {
    @Id
    private int id;
    private String name;
    private int age;

    // Getters and Setters
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

এই class টির মাধ্যমে আপনি employees টেবিলের ডেটা ম্যানেজ করতে পারবেন। @Entity এবং @Table এনোটেশন দ্বারা Hibernate এই ক্লাসটিকে টেবিলের সাথে সংযুক্ত করে।


5. Hibernate Utility Class

Hibernate এ ডেটাবেস অপারেশন করার জন্য একটি Utility ক্লাস তৈরি করতে পারেন, যা SessionFactory তৈরি করে এবং Hibernate Session পরিচালনা করে।

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
    private static SessionFactory factory;

    static {
        factory = new Configuration().configure("hibernate.cfg.xml").addAnnotatedClass(Employee.class).buildSessionFactory();
    }

    public static Session getSession() {
        return factory.getCurrentSession();
    }
}

এটি hibernate.cfg.xml কনফিগারেশন ফাইলের মাধ্যমে Hibernate Session তৈরি করবে।


6. Hibernate Operations (CRUD)

এখন আপনি Hibernate এর মাধ্যমে ডেটাবেসে CRUD (Create, Read, Update, Delete) অপারেশন করতে পারবেন।

Create Operation:

public class Main {
    public static void main(String[] args) {
        // Create a new employee object
        Employee newEmployee = new Employee();
        newEmployee.setName("John Doe");
        newEmployee.setAge(30);

        // Get the session and start a transaction
        Session session = HibernateUtil.getSession();
        session.beginTransaction();

        // Save the employee object
        session.save(newEmployee);

        // Commit the transaction
        session.getTransaction().commit();

        // Clean up
        session.close();
    }
}

Read Operation:

public class Main {
    public static void main(String[] args) {
        // Get the session and start a transaction
        Session session = HibernateUtil.getSession();
        session.beginTransaction();

        // Retrieve an employee using primary key
        Employee employee = session.get(Employee.class, 1);

        // Commit the transaction
        session.getTransaction().commit();

        // Print the employee details
        System.out.println(employee);

        // Clean up
        session.close();
    }
}

সারাংশ

Hibernate এর মাধ্যমে Apache Derby ডেটাবেস ব্যবহারের মাধ্যমে আপনি Java অ্যাপ্লিকেশনগুলোতে একটি পূর্ণাঙ্গ ORM সমাধান পাবেন। Hibernate এর সাথে Derby ডেটাবেস ইন্টিগ্রেশন করলে আপনি সহজেই ডেটাবেস পরিচালনা করতে পারবেন, SQL কোডের পরিবর্তে Java ক্লাস দিয়ে ডেটাবেসে CRUD অপারেশন সম্পাদন করতে পারবেন। এই প্রক্রিয়ায়, hibernate.cfg.xml কনফিগারেশন ফাইল, Hibernate Entity Classes, এবং SessionFactory ব্যবহার করে আপনির ডেটাবেস অ্যাক্সেস সহজ হয়ে যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion